Unityのプラグイン開発でテスト書く
概要
Unityのプラグインをちまちま作ってるのですが、
プラグインについてのテストを簡単にやる方法思いついたので備忘録までに。
こんな感じになった。
gist
https://gist.github.com/sassembla/5082797
Purpose
特定のタイミングでプラグインの特定のメソッドを走らせて、状態をチェック。
[InitializeOnLoad] を使って、
Unityが自動実行するたびにそれっぽいことを行えば、小気味よく実行できる。OK。
なんでこんな簡単なこと思いつかなかったんだろう。
いろいろ条件
・Editorフォルダにファイルを置く
Unityルール。InitializeOnLoadはEditor用。
・Assert関数は手書き
UnityにはAssert無い。
完成したときの環境がこちら
UnityのAsset下にEditorフォルダつくって、
gistに上がってる内容を、UnityEditorTestKit.cs と言う名前でcsharpファイルとして保存すればOKです。
これだけで、Unity上のファイルがコンパイルされたりPlayするたび、テストの中に書いた内容が動くようになります。
エラーが出るような内容があれば、Exceptionが発行されます。
いやー書き続けられるって素敵だわー マジで素敵だわー。
えっ、、終わり、、、?
Q.[test]Prefixとか、Annotation付けて検出とかは?
A.そういうのが出来る星でがんばってください。
もしくはプルリクするなりがんばって作ってAssetStoreに出すなりするんだ!
Q.どのテストが成功したかとかは判んないんですか?
A.ぁあ~、、 判らないっすねぇ~、、
→個別のテストの識別子とかはとりあえず考えてないので吊ってきます。
辞書持つとかすれば出来るんですが、、、めんどい。
今のところは、Debug.Log("これでひとつよろしく");
→出力は、CIに入れる事があったら、xmlでも吐くようにします。
YAGNI! YAGNIダヨ!!